package jacidco;

import javax.swing.JOptionPane;
import javax.swing.UIManager;

/**
 * 
 * @author David Cuellar
 * 
 * Clase Principal. Inicio del Programa
 */
public class Main
{
    /**
     * Objeto de la Clase Alumno
     * @see Alumno
     */
    public static Alumno afiliado;
    
    /** Objeto de la Clase Nivel
      * @see Nivel
     */
    public static Nivel nivel;
    
    /**
     * Objeto de la Clase Usuario
     * @see Usuario
     */
    public static Usuario usuario;
    
    /**
     * Objeto de la Clase Material
     * @see Material
     */
    public static Material material;
    
    /**
     * Objeto de la Clase Pago.
     * Maneja los datos referentes a los pagos realizados por los Afiliados a la Comunidad
     * @see Pago
     */
        public static Pago pago;
        
    /**
     * Objeto de la Clase Mensaje
     * @see Mensaje
     */
    public static Mensaje mensaje;
    
    /**
     * Objeto de la Clase BaseDatos
     * @see BaseDatos
     */
    public static BaseDatos bd;
    

    /**
     * Metodo Principal de la Clase. Inicio del Programa
     */
    public static void main(String[] args)
    {
        afiliado = new Alumno();
        nivel = new Nivel();
        usuario = new Usuario();
        material = new Material();
        pago = new Pago();
        mensaje = new Mensaje();
        bd = new BaseDatos();
        

        /* Ajusta el look del aplicativo al sistema anfitrion */
        try
        {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch ( Exception e )
        {
            JOptionPane.showMessageDialog(null, "Error a Iniciar \n\n"+e, "Error",JOptionPane.ERROR_MESSAGE);
        }
        
        
        try
        {
            bd.conectar();
            if(bd.nextCode("cod_usuario", "usuarios") == 0)
            {
                SetUpFrame setup = new SetUpFrame();
                setup.setVisible(true);
                setup.setLocationRelativeTo(null);        
            }
            else
            {
                LoginFrame log = new LoginFrame();
                log.setVisible(true);
                log.setLocationRelativeTo(null);
            }
            
        }
        catch(Exception ex)
        {
            
            
        }
        
        bd.cerrarConexion();
    }
    
   /**
     * Metodo que dirige al Marco Menu Principal
     * @see MenuPrincipalFrame
     */
    public static void goToMenuPrincipal()
    {
        MenuPrincipalFrame menu = new MenuPrincipalFrame();
        menu.setVisible(true);
        menu.setLocationRelativeTo(null);
    }
}

